import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IRunePrx } from "./IRunePrx";
import { AMI_IRune_addRuneExtraNum } from "./AMI_IRune_addRuneExtraNum";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IRune_equip } from "./AMI_IRune_equip";
import { AMI_IRune_feedRune } from "./AMI_IRune_feedRune";
import { AMI_IRune_runeGuide } from "./AMI_IRune_runeGuide";
import { AMI_IRune_swallow } from "./AMI_IRune_swallow";
import { DictStrIntHelper } from "../Public/DictStrIntHelper";
import { AMI_IRune_takeOff } from "./AMI_IRune_takeOff";
import { AMI_IRune_upgradeRune } from "./AMI_IRune_upgradeRune";
type int = number;
//class IRunePrxHelper
    
    export  class IRunePrxHelper extends RMIProxyObject implements IRunePrx
    {
        constructor()
        {
            
            super();name = "IRune";
            return;
        }

        public addRuneExtraNum_async(arg1: AMI_IRune_addRuneExtraNum, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("addRuneExtraNum");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public equip_async(arg1: AMI_IRune_equip, arg2: string, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("equip");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public feedRune_async(arg1: AMI_IRune_feedRune, arg2: int, arg3: string, arg4: int, arg5: int, arg6: Boolean, arg7: Boolean, arg8: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("feedRune");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            loc3.writeInt(arg5);
            loc3.writeBool(arg6);
            loc3.writeBool(arg7);
            loc3.writeBool(arg8);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public runeGuide_async(arg1: AMI_IRune_runeGuide, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("runeGuide");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public swallow_async(arg1: AMI_IRune_swallow, arg2: int, arg3: string, arg4: int, arg5: Map<any, any> /* flash.utils.Dictionary */): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("swallow");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            DictStrIntHelper.write(loc3, arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public takeOff_async(arg1: AMI_IRune_takeOff, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("takeOff");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public upgradeRune_async(arg1: AMI_IRune_upgradeRune, arg2: int, arg3: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("upgradeRune");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IRune";
    }
